fn main() {

    // 1. 行注释
    println!("Hello, world!");
    let x = 5;
    // 这是一个行注释，注释掉了下面的这行代码
    // println!("Value of x: {}", x);

    // println!("Hello, World!"); 这是另一个行注释


    // 2. 块注释
    /*
       这是一个块注释，可以跨越多行，
       可以用于注释一段代码或多行内容。

       let x = 5;
       let y = 10;
       let sum = x + y;
       println!("Sum: {}", sum);
   */
}

/// 这是一个加法函数，返回两个`i32`类型参数的和。
///
/// # 参数
///
/// - `a`: 一个整数
/// - `b`: 一个整数
///
/// # 返回值
///
/// 返回两个整数的和
///
/// # 示例
///
/// ```
/// let result = add(2, 3);
/// assert_eq!(result, 5);
/// ```
pub fn add(a: i32, b: i32) -> i32 {
    a + b
}

/// 这是一个减法函数，返回两个`i32`类型参数的差。
///
/// # 参数
///
/// - `a`: 一个整数
/// - `b`: 一个整数
///
/// # 返回值
///
/// 返回两个整数的差
///
/// # 示例
///
/// ```
/// let result = sub(5, 3);
/// assert_eq!(result, 2);
/// ```
fn sub(a: i32, b: i32) -> i32 {
    a - b
}
